Warsztaty Badawcze 2021L - Praca Domowa nr 2

Autor: Bartosz Sawicki

Potrzebne biblioteki

Wczytanie danynch i podział zbioru

Wczytanie modelu i utworzenie obiektu Dalex

Dla wybranej obserwacji ze zbioru danych wylicz predykcję modelu.

Dla obserwacji 32. model przewiduje z prawie 100% prawdopodobieństwem, że klient nie zrezygnuje z usługi. W tym przypadku predykcja okazała się prawdziwa.

Dla wybranej obserwacji z punktu 1., wylicz dekompozycję predykcji modelu używając LIME

Pierwsze wyjaśnienie wykonałem bez zamknięcia kodu w funkcję, napisałem komentarz i przeszedłem do dalszych zadań. Drugi raz wyjaśniłem obserwację 32 po złożeniu kodu w jedną funkcję i po jej wykonaniu zauważyłem, że opis nie zgadza się z wynikami. Metoda LIME nie jest replikowalna, za każdym razem może dać inny wynik. Chyba, że ustawimy parametr seed, tak jak ja zrobiłem za 3 razem.

Pierwsze wyjaśnienie

Wyjaśnienie lokalne metodą LIME dla obserwacji o indeksie 32 pokazuje, że spośród 10 najbardziej wpływających na predykcję zmiennych, 9 przyczynia się do zwiększenia prawdopodobieństwa, że wynik będzie równy 1, a tylko jedna, Months_on_book (liczba miesięcy jako klient), ujemnie kontrybuuje.

Drugie wyjaśnienie

Wyjaśnienie lokalne metodą LIME dla obserwacji o indeksie 32 pokazuje, że spośród 10 najbardziej wpływających na predykcję zmiennych, 9 przyczynia się do zwiększenia prawdopodobieństwa, że wynik będzie równy 1, a tylko jedna, Card_Silver (liczba miesięcy jako klient), ujemnie kontrybuuje.

Trzecie wyjaśnienie

Wyjaśnienie lokalne metodą LIME dla obserwacji o indeksie 32 pokazuje, że spośród 10 najbardziej wpływających na predykcję zmiennych, wszystkie przyczyniają się do zwiększenia prawdopodobieństwa, że wynik będzie równy 1.

Porównaj dekompozycję LIME dla różnych obserwacji w zbiorze. Jak stabilne są otrzymane wyjaśnienia?

Dla obserwacji o indeksie 22 predykcja też jest bardzo bliska 1. Mimo tego metoda LIME wskazuje, że 4 z 10 zmiennych zbliżało predykcję do 0. Czynnik który ma najwiekszy wpływ, Card_Platimum <= 0, ma duży współczynnik w porównaniu ze współczynnikami z pierwszej analizy obserwacji 32. Podobnie Total_Ct_Chng_Q4_Q1 <= 0.58 (zmiana liczby transakcji pomiędzy kwartałami) ma duży współczynnik, z tym że ujemny.

W tym przypadku fakt, że Card_Platinum <= 0 ujemnie wpływa na predykcję. Jego wpływ jest odwrotny niż w przypadku poprzedniej obserwacji (o indeksie 22). Wśród zmiennych o największym znaczeniu są 3 zmienne kodujące typ karty (Platinum, Gold, Silver).

W tym przypadku widzimy wyjaśnienie, gdy model przewidział wynik 0. Tę samą obserwację przeanalizowano metodą break down w pracy domowej 1. Najbardziej znaczące zmienne są inne (LIME: Total_Revolving_Bal, Total_Ct_Chng_Q4_Q1, BREAK DOWN: Total_Amt_Chng_Q4_Q1, Contacts_Count_12_mon).

Skupmy się na wartościach Total_Revolving_Bal. Ta cecha pojawia się we wszystkich powyższych wyjaśnieniach. Wartości tej ciągłej zmiennej zostały podzielone na przedziały. Jej kontrybucja zmienia się w zależności od tego w jakim przedziale występuje wartość. Jeśli Total_Revolving_Bal > 1782, to przyczynia się do wyniku predykcji 1 (dzieje się tak dla obserwacji z indeksem 55 oraz 32). Jeśli 457.5 < Total_Revolving_Bal <= 1782, to jej kontrybucja jest nadal pozytywna, ale mniejsza. Natomiast jeśli 457.5 <= Total_Revolving_Bal, to wpływ jest ujemny.

Wnioski